COMPX307-23B (HAM)

Principles of Programming Languages

15 Points

Edit Header Content
The University of Waikato
Academic Divisions
Division of Health Engineering Computing & Science
School of Computing and Mathematical Sciences Office
Department of Computer Science

Staff

Edit Staff Content

Convenor(s)

Lecturer(s)

Administrator(s)

: buddhika.subasinghe@waikato.ac.nz

Placement/WIL Coordinator(s)

Tutor(s)

Student Representative(s)

Lab Technician(s)

Librarian(s)

: anne.ferrier-watson@waikato.ac.nz

You can contact staff by:

  • Calling +64 7 838 4466 select option 1, then enter the extension.
  • Extensions starting with 4, 5, 9 or 3 can also be direct dialled:
    • For extensions starting with 4: dial +64 7 838 extension.
    • For extensions starting with 5: dial +64 7 858 extension.
    • For extensions starting with 9: dial +64 7 837 extension.
    • For extensions starting with 3: dial +64 7 2620 + the last 3 digits of the extension e.g. 3123 = +64 7 262 0123.
Edit Staff Content

What this paper is about

Edit What this paper is about Content

This paper deals with the design, implementation and use of programming languages, and expands your knowledge and expertise beyond imperative languages. Topics will be selected from the following:

  • the history and future of programming languages
  • grammars and parsing techniques
  • language implementation issues (interpreters, compilers)
  • programming language semantics
  • declarative programming languages

The learning outcomes for this paper are linked to Washington Accord graduate attributes WA1-WA11. Explanation of the graduate attributes can be found at: https://www.ieagreements.org/assets/Uploads/Documents/IEA-Graduate-Attributes-and-Professional-Competencies-2021.1-Sept-2021.pdf


Edit What this paper is about Content

How this paper will be taught

Edit How this paper will be taught Content
We will use traditional lectures for all the teaching, and there will be courseworks and tests for assessment (details below), but no labs.
Edit How this paper will be taught Content

Required Readings

Edit Required Readings Content

Required Reading
http://en.wikibooks.org/wiki/Haskell

This is an open-source textbook---we will be working through some of it during the course.

Edit Required Readings Content

Learning Outcomes

Edit Learning Outcomes Content

Students who successfully complete the course should be able to:

  • Compare and evaluate different solutions to problems written in different languages (WA1, WA3, WA5)
    Linked to the following assessments:
    Coursework One (1)
    Coursework Two (2)
    Test One (3)
  • Express the standard semantics for common imperative language constructs (WA1, WA3)
    Linked to the following assessments:
    Coursework Four (5)
    Test Two (6)
  • Write a parser for a simple imperative language in a functional language (WA1, WA3, WA11)
    Linked to the following assessments:
    Coursework Three (4)
  • Write a simple interpreter for an imperative language in a functional language (WA1, WA3, WA11)
    Linked to the following assessments:
    Coursework Four (5)
  • Write programs in at least one functional language, which will mean solving computational problems and using such a language to define functions and modules which express those solutions (WA1, WA3)
    Linked to the following assessments:
    Coursework Two (2)
    Coursework Three (4)
    Coursework Four (5)
Edit Learning Outcomes Content
Edit Learning Outcomes Content

Assessments

Edit Assessments Content

How you will be assessed

Edit How you will be assessed Content

Assignments must be submitted, via Moodle, by the due date. All assignments must be submitted as as plain text since we will want to run your programs etc. We will not mark submissions in any other format. We will try to get assignments marked within two weeks.

Samples of your work may be required as part of the Engineering New Zealand accreditation process for BE(Hons) degrees. Any samples taken will have the student name and ID redacted. If you do not want samples of your work collected then please email the engineering administrator, Natalie Shaw (natalie.shaw@waikato.ac.nz), to opt out.

Edit How you will be assessed Content

The internal assessment/exam ratio (as stated in the University Calendar) is 100:0. There is no final exam. The final exam makes up 0% of the overall mark.

The internal assessment/exam ratio (as stated in the University Calendar) is 100:0 or 0:0, whichever is more favourable for the student. The final exam makes up either 0% or 0% of the overall mark.

Component DescriptionDue Date TimePercentage of overall markSubmission MethodCompulsory
1. Coursework One
28 Jul 2023
No set time
10
2. Coursework Two
18 Aug 2023
No set time
15
3. Test One
7 Sep 2023
10:00 AM
20
  • In Class: In Lecture
4. Coursework Three
22 Sep 2023
No set time
15
5. Coursework Four
17 Oct 2023
No set time
20
6. Test Two
12 Oct 2023
10:00 AM
20
  • In Class: In Lecture
Assessment Total:     100    
Failing to complete a compulsory assessment component of a paper will result in an IC grade
Edit Assessments Content